package com.ndp.fb.redis.model;

import com.ndp.fb.model.business.bo.useraudience.result.FBTargetingSpecs;
import com.ndp.fb.rdb.model.PixelId;
import com.ndp.fb.rdb.model.ProductCatalog;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * Created by Administrator on 2014/12/24.
 */
@Setter
@Getter
@NoArgsConstructor
public class AdPublishCache implements Serializable {

    /**
     * key: {batchId}_adCreative_序号
     * value : adCreative请求参数 返回id，成功状态
     */
    private Map<String, AdCreativeLevel> adCreativeLevelMap;

    /**
     * key: {batchId}_adCampaignGroup_序号
     * value: adCampaignGroup请求参数 返回Id 成功状态
     */
    private Map<String, AdCampaignGroupLevel> adCampaignGroupLevelMap;

    /**
     * key: {batchId}_adSet_序号
     * value: adset请求参数 返回Id 成功状态 adSet持有{batchId}_adCampaignGroup_序号
     */
    private Map<String, AdSetLevel> adSetLevelMap;

    /**
     * key: {batchId}_adGroup_序号
     * value: adset请求参数 返回Id 成功状态 adGroup持有{batchId}_adSet_序号并且持有{batchId}_adCreative_序号
     */
    private Map<String, AdGroupLevel> adGroupLevelMap;

    private Set<Class> preSucceed=new HashSet<>();

    private String cacheId;

    private Integer adCreativeSucess = 0;

    private Long weFeedId;

    //对应的产品目录
    private ProductCatalog productCatalog;

    private String productSetName;
    private Long fbProductSetId;

    private FBTargetingSpecs fBTargetingSpecs;

    private String audienceName;

    private Long batchId;

    private Map<String ,Object> dpaAttribute;

    private PixelId pixelId;
    private Map<String ,Object> marketTargetAttribute;
//    /**
//     * 营销目标id
//     */
//    private String adMarketTargetId;
//    /**
//     * 单次自动优化ID
//     */
//    private String ecMarketingActionRecordId;
//    /**
//     * 单次自动优化的actionid
//     */
//    private String ecAdActionRecordId;
//    /**
//     * 策略实例化后的id
//     */
//    private String strategyRuleSpecificId;

    private Long retargetFbProductSetId;
}
